// import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
// import Element from 'element-ui'
// import 'element-ui/lib/theme-chalk/index.css'
// import element from './element/index'
import axios from 'axios'
// import Vant from 'vant';
// import 'vant/lib/index.css';
// import initRichText from './editor';

// import { Tabbar,TabbarItem,Icon,Popup,Badge,Cell,NavBar } from 'VANT';

// Vue.use(NavBar)
// Vue.use(Cell)
// Vue.use(Badge)
// Vue.use(Popup)
// Vue.use(Icon)
// Vue.use(Tabbar)
// Vue.use(TabbarItem)

// initRichText();
Vue.use(vant.Lazyload);

//富文本
import mavonEditor from 'mavon-editor'

//富文本编辑器vue版
import 'mavon-editor/dist/css/index.css'

//视频组件
import VuevideoPlayer from 'vue-video-player';
import 'video.js/dist/video-js.css';

Vue.use(VuevideoPlayer);

import "./axios" //这个用于axios前置拦截 处理异常
import "./permission"//permission是否登录拦截


//引入echarts
// import echarts from 'echarts'
// Vue.prototype.$echarts = echarts
//引入基本模板
// let echarts = require('echarts/lib/echarts')

// 引入折线图等组件
// require('echarts/lib/chart/pie')
// require('echarts/lib/chart/bar')
// require('echarts/lib/chart/radar')

// 引入提示框和title组件，图例
// require('echarts/lib/component/tooltip')
// require('echarts/lib/component/title')
// require('echarts/lib/component/legend')
// require('echarts/lib/component/legendScroll')//图例翻译滚动
// Vue.prototype.$echarts = echarts



// 注册一个全局自定义指令 v-isAdmin
//但是 即使细腻度到了按钮
//仍然需要在 router中 判断
//因为 用户可以直接通过访问url的方式 进入到 管理 页面 只是请求不到后端的数据而已（后端可定要有保护哈）
Vue.directive('isAdminShow', {
    //自定义指令实现细粒度的按钮显示等控制（例：如果我们想控制某个角色或者拥有某项权限才能看到编辑按钮）
    bind: (el) => {
        // const userinfo = this.$store.getters.getUser;    草 被这个玩爽了  js中调用 要import 而不是this指代
        const userinfo = store.getters.getUser;


        //这个判断 是否有 用indexOf好骚 (由于我的用户只有一个角色 所以略)
        // if (!(localStorage.getItem('role').indexOf('admin') > -1)) {
        if (userinfo == null) {
            // console.log("userinfo 为空")
            el.setAttribute('style', 'display:none')
        } else {
            if (userinfo.role != 'admin') {
                //设置当前的标签
                // console.log(userinfo.username+"该角色的名字是")
                el.setAttribute('style', 'display:none')
            }
        }
    }

});

//注册ElementUI
Vue.use(ELEMENT)

//富文本编辑器
Vue.use(mavonEditor)

Vue.config.productionTip = false

//注册axios
//使用方法： this.axios
Vue.prototype.$axios = axios

axios.defaults.headers.common['Authorization'] = store.state.token  // 在header中添加token


new Vue({
    router,
    store,
    render: h => h(App)
}).$mount('#app')
